package com.wicket.okrcalc.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod;
import com.wicket.okrcalc.biz.service.CrossTempIntegrateService;
import com.wicket.okrcalc.biz.service.dto.req.*;
import com.wicket.okrcalc.biz.service.dto.res.*;
import com.wicket.okrcalc.common.ro.OkrResult;
import com.wicket.okrcalc.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/calc/crossTempIntegrate/")
public class CrossTempIntegrateController {

  @Autowired
  CrossTempIntegrateService crossTempIntegrateService;

    /**
     * D4查询主题跨评价模板范围列表(公共)
     */
    @PostMapping("queryThemeEvaluationCrossListCom")
    public OkrResult<QueryThemeEvaluationCrossListComRespDto> queryThemeEvaluationCrossListCom(@RequestBody @Validated QueryThemeEvaluationCrossListComReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.queryThemeEvaluationCrossListCom(reqDTO));
    }
/**
   * D4模糊查目标跨模板整合主题列表(公共)
   */
    @PostMapping("queryFuzzyIntegrateThemeListCom")
    public OkrResult<QueryFuzzyIntegrateThemeListComRespDto> queryFuzzyIntegrateThemeListCom(@RequestBody @Validated QueryFuzzyIntegrateThemeListComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryFuzzyIntegrateThemeListCom(reqDTO));
    }

    /**
     * D4新增目标跨模板整合主题(公共)
     */
    @PostMapping("addIntegrateThemeCom")
    public OkrResult<AddIntegrateThemeComRespDto> addIntegrateThemeCom(@RequestBody @Validated AddIntegrateThemeComReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.addIntegrateThemeCom(reqDTO));
    }
/**
   * D4查询目标跨模板整合主题详情(公共)
   */
    @PostMapping("queryIntegrateThemeDetailCom")
    public OkrResult<QueryIntegrateThemeDetailComRespDto> queryIntegrateThemeDetailCom(@RequestBody @Validated QueryIntegrateThemeDetailComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryIntegrateThemeDetailCom(reqDTO));
    }

    /**
     * D4新增目标跨模板整合主题业务处理
     */
    @PostMapping("addIntegrateThemeBusinessProcess")
    public OkrResult<AddIntegrateThemeBusinessProcessRespDto> addIntegrateThemeBusinessProcess(@RequestBody @Validated AddIntegrateThemeBusinessProcessReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.addIntegrateThemeBusinessProcess(reqDTO));
    }
/**
 *
   * D4新增目标跨模板数据范围(公共)
   */
    @PostMapping("addTargetEvaluationCrossDataCom")
    public OkrResult<AddTargetEvaluationCrossDataComRespDto> addTargetEvaluationCrossDataCom(@RequestBody @Validated AddTargetEvaluationCrossDataComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.addTargetEvaluationCrossDataCom(reqDTO));
    }
/**
   * D4批量增目标跨模板数据范围(公共)
   */
    @PostMapping("batchAddTargetEvaluationCrossDataCom")
    public OkrResult<BatchAddTargetEvaluationCrossDataComRespDto> batchAddTargetEvaluationCrossDataCom(@RequestBody @Validated BatchAddTargetEvaluationCrossDataComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.batchAddTargetEvaluationCrossDataCom(reqDTO));
    }
/**
   * D4查询目标跨模板数据范围列表(公共)
   */
    @PostMapping("queryTargetEvaluationCrossDataListCom")
    public OkrResult<QueryTargetEvaluationCrossDataListComRespDto> queryTargetEvaluationCrossDataListCom(@RequestBody @Validated QueryTargetEvaluationCrossDataListComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryTargetEvaluationCrossDataListCom(reqDTO));
    }
/**
   * D4批量查询目标跨模板数据范围列表By数据归属主体ID(公共)
   */
    @PostMapping("batchQueryTargetEvaluationCrossDataListByIdsCom")
    public OkrResult<BatchQueryTargetEvaluationCrossDataListByIdsComRespDto> batchQueryTargetEvaluationCrossDataListByIdsCom(@RequestBody @Validated BatchQueryTargetEvaluationCrossDataListByIdsComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.batchQueryTargetEvaluationCrossDataListByIdsCom(reqDTO));
    }
/**
   * D4修改目标跨模板整合主题(公共)
   */
    @PostMapping("updateIntegrateThemeCom")
    public OkrResult<UpdateIntegrateThemeComRespDto> updateIntegrateThemeCom(@RequestBody @Validated UpdateIntegrateThemeComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.updateIntegrateThemeCom(reqDTO));
    }
    /**
     * D4查询目标跨模板整合主题列表(公共)
     */
    @PostMapping("queryIntegrateThemeListCom")
    public OkrResult<QueryIntegrateThemeListComRespDto> queryIntegrateThemeListCom(@RequestBody @Validated QueryIntegrateThemeListComReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.queryIntegrateThemeListCom(reqDTO));
    }

    /**
     * D4修改目标跨模板整合主题业务处理
     */
    @PostMapping("updateIntegrateThemeBusinessProcess")
    public OkrResult<UpdateIntegrateThemeBusinessProcessRespDto> updateIntegrateThemeBusinessProcess(@RequestBody @Validated UpdateIntegrateThemeBusinessProcessReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.updateIntegrateThemeBusinessProcess(reqDTO));
    }
    /**
     * D4新增主题跨评价模板范围(公共)
     */
    @PostMapping("addThemeEvaluationCrossCom")
    public OkrResult<AddThemeEvaluationCrossComRespDto> addThemeEvaluationCrossCom(@RequestBody @Validated AddThemeEvaluationCrossComReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.addThemeEvaluationCrossCom(reqDTO));
    }
    /**
     * D4修改主题跨评价模板范围(公共)
     */
    @PostMapping("updateThemeEvaluationCrossCom")
    public OkrResult<UpdateThemeEvaluationCrossComRespDto> updateThemeEvaluationCrossCom(@RequestBody @Validated UpdateThemeEvaluationCrossComReqDto reqDTO){
        return OkrResult.success(crossTempIntegrateService.updateThemeEvaluationCrossCom(reqDTO));
    }
/**
   * D4执行回写跨模板数据整合主题(公共)
   */
    @PostMapping("implementWriteBackIntegrateThemeCom")
    public OkrResult<ImplementWriteBackIntegrateThemeComRespDto> implementWriteBackIntegrateThemeCom(@RequestBody @Validated ImplementWriteBackIntegrateThemeComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementWriteBackIntegrateThemeCom(reqDTO));
    }
/**
   * D4执行回写单条跨模板数据整合主题(公共)
   */
    @PostMapping("implementWriteBackSingleIntegrateThemeCom")
    public OkrResult<ImplementWriteBackSingleIntegrateThemeComRespDto> implementWriteBackSingleIntegrateThemeCom(@RequestBody @Validated ImplementWriteBackSingleIntegrateThemeComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementWriteBackSingleIntegrateThemeCom(reqDTO));
    }
/**
   * D4更新目标跨模板数据范围(公共)
   */
    @PostMapping("refreshTargetEvaluationCrossDataCom")
    public OkrResult<RefreshTargetEvaluationCrossDataComRespDto> refreshTargetEvaluationCrossDataCom(@RequestBody @Validated RefreshTargetEvaluationCrossDataComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.refreshTargetEvaluationCrossDataCom(reqDTO));
    }
/**
   * D4查询目标跨模板数据范围详情(公共)
   */
    @PostMapping("queryTargetEvaluationCrossDataDetailCom")
    public OkrResult<QueryTargetEvaluationCrossDataDetailComRespDto> queryTargetEvaluationCrossDataDetailCom(@RequestBody @Validated QueryTargetEvaluationCrossDataDetailComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryTargetEvaluationCrossDataDetailCom(reqDTO));
    }
/**
   * D4修改目标跨模板数据范围(公共)
   */
    @PostMapping("updateTargetEvaluationCrossDataCom")
    public OkrResult<UpdateTargetEvaluationCrossDataComRespDto> updateTargetEvaluationCrossDataCom(@RequestBody @Validated UpdateTargetEvaluationCrossDataComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.updateTargetEvaluationCrossDataCom(reqDTO));
    }
/**
   * D4执行跨模板提取进度等标准数据(公共)
   */
    @PostMapping("implementCrossTempExtractProgressEtcDatasCom")
    public OkrResult<ImplementCrossTempExtractProgressEtcDatasComRespDto> implementCrossTempExtractProgressEtcDatasCom(@RequestBody @Validated ImplementCrossTempExtractProgressEtcDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempExtractProgressEtcDatasCom(reqDTO));
    }
/**
   * D4分析数据归属目标周期信息(公共)
   */
    @PostMapping("analysisDataOwnershipTargetCycleInfoCom")
    public OkrResult<AnalysisDataOwnershipTargetCycleInfoComRespDto> analysisDataOwnershipTargetCycleInfoCom(@RequestBody @Validated AnalysisDataOwnershipTargetCycleInfoComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.analysisDataOwnershipTargetCycleInfoCom(reqDTO));
    }
/**
   * D4执行跨模板提取汇报任务数等标准数据(公共)
   */
    @PostMapping("implementCrossTempExtractReportNumEtcDatasCom")
    public OkrResult<ImplementCrossTempExtractReportNumEtcDatasComRespDto> implementCrossTempExtractReportNumEtcDatasCom(@RequestBody @Validated ImplementCrossTempExtractReportNumEtcDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempExtractReportNumEtcDatasCom(reqDTO));
    }
/**
   * D4执行跨模板提取标准数据(公共)
   */
    @PostMapping("implementCrossTempExtractDatasCom")
    public OkrResult<ImplementCrossTempExtractDatasComRespDto> implementCrossTempExtractDatasCom(@RequestBody @Validated ImplementCrossTempExtractDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempExtractDatasCom(reqDTO));
    }
/**
   * D4循环更新目标跨模板数据范围(公共)
   */
    @PostMapping("loopUpdateTargetEvaluationCrossDataCom")
    public OkrResult<LoopUpdateTargetEvaluationCrossDataComRespDto> loopUpdateTargetEvaluationCrossDataCom(@RequestBody @Validated LoopUpdateTargetEvaluationCrossDataComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.loopUpdateTargetEvaluationCrossDataCom(reqDTO));
    }
/**
   * D4批量查询目标跨模板数据范围列表By数据点类型(公共)
   */
    @PostMapping("batchQueryTargetEvaluationCrossDataListByDataTypesCom")
    public OkrResult<BatchQueryTargetEvaluationCrossDataListByDataTypesComRespDto> batchQueryTargetEvaluationCrossDataListByDataTypesCom(@RequestBody @Validated BatchQueryTargetEvaluationCrossDataListByDataTypesComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.batchQueryTargetEvaluationCrossDataListByDataTypesCom(reqDTO));
    }
/**
   * D4执行计算汇总汇报任务数等整合数据(公共)
   */
    @PostMapping("implementCalcCompleReportNumEtcDatasCom")
    public OkrResult<ImplementCalcCompleReportNumEtcDatasComRespDto> implementCalcCompleReportNumEtcDatasCom(@RequestBody @Validated ImplementCalcCompleReportNumEtcDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCalcCompleReportNumEtcDatasCom(reqDTO));
    }
/**
   * D4执行跨模板提取完成率等标准数据(公共)
   */
    @PostMapping("implementCrossTempExtractCompRateEtcDatasCom")
    public OkrResult<ImplementCrossTempExtractCompRateEtcDatasComRespDto> implementCrossTempExtractCompRateEtcDatasCom(@RequestBody @Validated ImplementCrossTempExtractCompRateEtcDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempExtractCompRateEtcDatasCom(reqDTO));
    }
/**
   * D4查询跨模板单数据点详请
   */
    @PostMapping("queryCrossTempSingleDataDetail")
    public OkrResult<QueryCrossTempSingleDataDetailRespDto> queryCrossTempSingleDataDetail(@RequestBody @Validated QueryCrossTempSingleDataDetailReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryCrossTempSingleDataDetail(reqDTO));
    }
/**
   * D4查询跨模板多数据点列表
   */
    @PostMapping("queryCrossTempMultipleDatasList")
    public OkrResult<QueryCrossTempMultipleDatasListRespDto> queryCrossTempMultipleDatasList(@RequestBody @Validated QueryCrossTempMultipleDatasListReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryCrossTempMultipleDatasList(reqDTO));
    }
/**
   * D4批量查询跨模板多数据点
   */
    @PostMapping("batchQueryCrossTempMultipleDatas")
    public OkrResult<BatchQueryCrossTempMultipleDatasRespDto> batchQueryCrossTempMultipleDatas(@RequestBody @Validated BatchQueryCrossTempMultipleDatasReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.batchQueryCrossTempMultipleDatas(reqDTO));
    }
/**
   * D4执行计算汇总进度值等整合数据(公共)
   */
    @PostMapping("implementCalcCompleProgressEtcDatasCom")
    public OkrResult<ImplementCalcCompleProgressEtcDatasComRespDto> implementCalcCompleProgressEtcDatasCom(@RequestBody @Validated ImplementCalcCompleProgressEtcDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCalcCompleProgressEtcDatasCom(reqDTO));
    }
/**
   * D4执行计算汇总完成率等整合数据(公共)
   */
    @PostMapping("implementCalcCompleCompRateEtcDatasCom")
    public OkrResult<ImplementCalcCompleCompRateEtcDatasComRespDto> implementCalcCompleCompRateEtcDatasCom(@RequestBody @Validated ImplementCalcCompleCompRateEtcDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCalcCompleCompRateEtcDatasCom(reqDTO));
    }
/**
   * D4执行计算汇总数据平均值(公共)
   */
    @PostMapping("implementCalcCompleDataAverageCom")
    public OkrResult<ImplementCalcCompleDataAverageComRespDto> implementCalcCompleDataAverageCom(@RequestBody @Validated ImplementCalcCompleDataAverageComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCalcCompleDataAverageCom(reqDTO));
    }
/**
   * D4执行跨模板提取并更新目标内容标准数据(公共)
   */
    @PostMapping("implementCrossTempExtractAndUpdateTagetContentDatasCom")
    public OkrResult<ImplementCrossTempExtractAndUpdateTagetContentDatasComRespDto> implementCrossTempExtractAndUpdateTagetContentDatasCom(@RequestBody @Validated ImplementCrossTempExtractAndUpdateTagetContentDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempExtractAndUpdateTagetContentDatasCom(reqDTO));
    }
/**
   * D4查询跨模板大屏更新周期类型配置详情(公共)
   */
    @PostMapping("queryCrossTempDashBoradUpdateCycleTypeDetailCom")
    public OkrResult<QueryCrossTempDashBoradUpdateCycleTypeDetailComRespDto> queryCrossTempDashBoradUpdateCycleTypeDetailCom(@RequestBody @Validated QueryCrossTempDashBoradUpdateCycleTypeDetailComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.queryCrossTempDashBoradUpdateCycleTypeDetailCom(reqDTO));
    }
/**
   * D4分析跨模板大屏更新周期类型(公共)
   */
    @PostMapping("analysisCrossTempDashBoradUpdateCycleTypeCom")
    public OkrResult<AnalysisCrossTempDashBoradUpdateCycleTypeComRespDto> analysisCrossTempDashBoradUpdateCycleTypeCom(@RequestBody @Validated AnalysisCrossTempDashBoradUpdateCycleTypeComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.analysisCrossTempDashBoradUpdateCycleTypeCom(reqDTO));
    }
/**
   * D4执行计算汇报任务数(公共)
   */
    @PostMapping("implementCalcReportNumDataCom")
    public OkrResult<ImplementCalcReportNumDataComRespDto> implementCalcReportNumDataCom(@RequestBody @Validated ImplementCalcReportNumDataComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCalcReportNumDataCom(reqDTO));
    }
/**
   * D4执行循环过程周期计算汇报任务数(公共)
   */
    @PostMapping("implementLoopProcessCycleCalcReportNumCom")
    public OkrResult<ImplementLoopProcessCycleCalcReportNumComRespDto> implementLoopProcessCycleCalcReportNumCom(@RequestBody @Validated ImplementLoopProcessCycleCalcReportNumComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementLoopProcessCycleCalcReportNumCom(reqDTO));
    }
/**
   * D4执行跨模板循环提取标准数据(公共)
   */
    @PostMapping("implementCrossTempLoopExtractDatasCom")
    public OkrResult<ImplementCrossTempLoopExtractDatasComRespDto> implementCrossTempLoopExtractDatasCom(@RequestBody @Validated ImplementCrossTempLoopExtractDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempLoopExtractDatasCom(reqDTO));
    }
/**
   * D4执行跨模板提取并整合标准数据(公共)
   */
    @PostMapping("implementCrossTempExtractAndIntegrateDatasCom")
    public OkrResult<ImplementCrossTempExtractAndIntegrateDatasComRespDto> implementCrossTempExtractAndIntegrateDatasCom(@RequestBody @Validated ImplementCrossTempExtractAndIntegrateDatasComReqDto reqDTO){
    return OkrResult.success(crossTempIntegrateService.implementCrossTempExtractAndIntegrateDatasCom(reqDTO));
    }
}
